wayland: Set display on keymaps
authorMatthias Clasen <mclasen@redhat.com>
Fri, 12 Jan 2018 02:44:49 +0000 (21:44 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 12 Jan 2018 14:23:59 +0000 (09:23 -0500)
This was forgotten so far: The display of keymaps
was NULL.

gdk/wayland/gdkdevice-wayland.c
gdk/wayland/gdkdisplay-wayland.c
gdk/wayland/gdkkeys-wayland.c
gdk/wayland/gdkprivate-wayland.h

index c170325c4626b586bc3a4fd61b72eb54149c58de..b6a950d658cdaa53cb148858b3fbfff9d7973b27 100644 (file)
@@ -4764,7 +4764,7 @@ _gdk_wayland_display_create_seat (GdkWaylandDisplay *display_wayland,
                        "display", display_wayland,
                        NULL);
   seat->id = id;
-  seat->keymap = _gdk_wayland_keymap_new ();
+  seat->keymap = _gdk_wayland_keymap_new (display);
   seat->display = display;
   seat->touches = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_free);
   seat->foreign_dnd_window = create_foreign_dnd_window (display);
index f02d9c69221f5f49c39683e9095d82c5b83394fa..85cecc03c2d9882ae35ecbd543edad2c1d15d7b9 100644 (file)
@@ -896,7 +896,7 @@ _gdk_wayland_display_get_keymap (GdkDisplay *display)
     return _gdk_wayland_device_get_keymap (core_keyboard);
 
   if (!tmp_keymap)
-    tmp_keymap = _gdk_wayland_keymap_new ();
+    tmp_keymap = _gdk_wayland_keymap_new (display);
 
   return tmp_keymap;
 }
index c8a4d7e0aea7b1e520710ae83498f09cecd3e052..fd95b27374b372255c599dd54f2eed52c603a076 100644 (file)
@@ -540,13 +540,14 @@ update_direction (GdkWaylandKeymap *keymap)
 }
 
 GdkKeymap *
-_gdk_wayland_keymap_new (void)
+_gdk_wayland_keymap_new (GdkDisplay *display)
 {
   GdkWaylandKeymap *keymap;
   struct xkb_context *context;
   struct xkb_rule_names names;
 
   keymap = g_object_new (_gdk_wayland_keymap_get_type(), NULL);
+  GDK_KEYMAP (keymap)->display = display;
 
   context = xkb_context_new (0);
 
index 39d6cfe1b35f711a7db771bdfc2687e3b85fff0d..6d3fe4c7783bc75891101dc9954eec107f6c6fed 100644 (file)
@@ -45,7 +45,7 @@
 
 #define GDK_WINDOW_IS_WAYLAND(win)    (GDK_IS_WINDOW_IMPL_WAYLAND (((GdkWindow *)win)->impl))
 
-GdkKeymap *_gdk_wayland_keymap_new (void);
+GdkKeymap *_gdk_wayland_keymap_new (GdkDisplay *display);
 void       _gdk_wayland_keymap_update_from_fd (GdkKeymap *keymap,
                                                uint32_t   format,
                                                uint32_t   fd,